package com.ev.asl.service;

import com.ev.asl.domain.CheckResultDO;
import com.ev.asl.dto.CheckResultDto;
import com.ev.asl.vo.CheckResult2VO;
import com.ev.asl.vo.CheckResult3VO;
import com.ev.asl.vo.CheckResultDetailDOVo;
import com.ev.asl.vo.CheckResultVO;
import com.ev.framework.utils.R;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author 姚家乐
 * @since 2021/6/18 12:58
 */
public interface CheckResultService {
    Integer save(CheckResultDO entity);

    Integer save(CheckResultDto dto);

    Integer save2(CheckResultDto dto, Integer type);

    R check(CheckResult3VO checkResult3VO);

    /**
     * 发送检查成绩书生成通知给检验员
     * @param dailyReportId
     */
    void sendCheckMessage(Long dailyReportId);

    CheckResultDO get(Long id);

    Map<String,Object> getDetailInfo(Long id);

    List<CheckResultDetailDOVo>   listForDetail(@Param("mainId") Long mainId);

    Map<String, Object> printDetailOfResult(Long id);

    Integer update(CheckResultDO entity);

    Integer update(CheckResultDto dto);

    int batchRemove(Long[] ids);

    int remove(Long id);

    int countForMap(Map<String, Object> params);

    List<Map<String,Object>> listForMap(Map<String,Object> param);

    List<CheckResultVO> getDetailInfoList2(Map<String, Object> param);

    List<CheckResultVO> getDetailInfoList(Map<String, Object> param);

    Integer getCountInfoList(Map<String, Object> param);

}
